package map;

import java.util.HashMap;
import java.util.Map;

/**
 * 统计字符串中每个字符出现的次数
 * 思路:
 * 用一个Map保存统计结果，key保存出现的字符，value保存该字符出现的次数
 * 利用字符串的charAt方法可以遍历字符串中每一个字符
 * 如果map中该字符不存在，则存入，并且对应的次数为1
 * 如果map中该字符已经存在，则根据该字符作为key提取其value(出现的次数)并对value+1再
 * 存回。
 * 遍历后输出map即可得知每个字符出现的次数。
 */
public class Test {
    public static void main(String[] args) {
        String line = "Thinking in java!i love java!";
        Map<Character,Integer> map = new HashMap<>();
        for (int i=0;i<line.length();i++){
            char c = line.charAt(i);
//            if(map.containsKey(c)){
//                int sum = map.get(c);
//                sum = sum +1;
//                map.put(c,sum);
//            }else{
//                map.put(c,1);
//            }
            int num = map.containsKey(c)?map.get(c)+1:1;
            map.put(c,num);
        }
        System.out.println(map);
    }
}
